package xcmg.device.util;

/**
 * 
 * CodeSalesInvoiceApply
 * @description <文件描述>
 * @author diwei
 * @version V1.0
 * @date 2019年9月12日
 * @email diwei@redoornetwork.com
 */
public class CodeSalesInvoiceApply
{
	/** 发货通知单 */
	public static final String NOTEDELIVERYNOTE = "0";

	/** 退货入库单 */
	public static final String SALESRETURNIN = "1";

	/** 三包出库单 */
	public static final String THREEGUARANTEESOUT = "2";

	/** 开票申请 */
	public static final String INVOICEAPPLY = "3";
	
	/** 运费 */
	public static final String FEIGHT = "4";

	/** 是否被删除 */
	public static abstract interface IS_DEL
	{
		public static final String YES = "1";
		public static final String NO = "0";
	}

	public static abstract interface TYPE
	{
		public static final String ENTER = "0";
		public static final String OUT = "1";
	}

	public static abstract interface STATUS
	{
		public static final String WAIT = "0";
		public static final String PASS = "1";
		public static final String FAIL = "2";
		public static final String PAYED = "3";
	}

	public static abstract interface DETAIL
	{
		public static final String NO = "0";
		public static final String YES = "1";
	}

	public static abstract interface VERIFICATION_STATUS
	{
		public static final String WAIT = "0";
		public static final String PART = "1";
		public static final String ALL = "2";
	}

	public static abstract interface IS_INVOICE
	{
		public static final String NO = "0";
		public static final String YES = "1";
	}

	public static abstract interface IS_VERIFICATION
	{
		public static final String NO = "0";
		public static final String YES = "1";
	}

	/**
	 * 
	 * applyStatus
	 * @description <开票状态 >
	 * @author diwei
	 * @version V1.0
	 * @date 2019年9月25日
	 * @email diwei@redoornetwork.com
	 */
	public enum applyStatus
	{
		auditBySalesDircetor( "0", "待销售部长审核未开始审核" ), auditByManager( "1", "待总经理审核" ), auditByFinacialStaff( "2", "待财务人员审核" ), refuse( "3",
		        "审核拒绝" ), invoicing( "4", "待开票" ), invoiced( "5", "已开票" ), auditByFinacialStaffOnly( "6", "待财务人员审核未开始审核" ),auditByManagerOnly( "7", "待总经理审核未审核" );
		private String key;
		private String value;

		public String getKey()
		{
			return key;
		}

		public void setKey( String key )
		{
			this.key = key;
		}

		public String getValue()
		{
			return value;
		}

		public void setValue( String value )
		{
			this.value = value;
		}

		applyStatus(String key, String value)
		{
			this.key = key;
			this.value = value;
		}

		public static String getValueByKey( String key )
		{
			for ( applyStatus item : applyStatus.values() )
			{
				if (item.getKey().equals( key )) {
					return item.getValue();
				}
			}
			return "";
		}

	}

}
